package logica;

import dados.BancoQuestoes;
import dados.Estado;
import dados.Questao;
import java.io.File;
import java.io.IOException;

/**
 * Classe que gerencia a serializa��o do objeto que � utilizado para a importa��o
 * da corre��o posteriormente.
 */
public class GerenciaSerializacao {
    
    /**
     * Serializa o objeto padr�o na pasta da corre��o.
     */
    public void serializar() {
        Arquivos.serializarDados();
    }
    
    public void serializar(String nomeArq){
        Arquivos.serializarDados(nomeArq);
    }
    
    public void serializarQuestao(Questao questao, File arqQuestao){
        Arquivos.serializarQuestao(questao, arqQuestao);
    }
    /**
     * Desserializa o objeto padr�o e o tras para a mem�ria na forma do objeto
     * PastaCorrecao.
     */
    public void desserializar(File diretorio) throws IOException {
        //Retirar apenas quando totalmente implementado
        try{
            BancoQuestoes.setInstancia(Arquivos.desserializarBancoQuestoesDir(diretorio));
            Estado.setInstancia(Arquivos.desserializarEstadoDir(diretorio));
        }catch(Exception e){
            e.printStackTrace();
        }

    }
        
    public void desserializarBancoQuestoes(File arquivo) throws IOException {
        BancoQuestoes.setInstancia(Arquivos.desserializarBancoQuestoesArq(arquivo));
    }
    
    public Questao desserializarQuestao(File arquivo) throws IOException {
        Questao questao = Arquivos.desserializarQuestao(arquivo);
        return questao;
    }
}
